home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / p_man / cat3 / libelf / elf_rand.z / elf_rand
Encoding:
Text File  |  2002-10-03  |  2.2 KB  |  54 lines

  1. ELF_RAND(3E)                                         Last changed: 10-13-98
  2.  
  3.  
  4. NNAAMMEE
  5.      eellff__rraanndd - Provides random archive member access
  6.  
  7. SSYYNNOOPPSSIISS
  8.      cccc [_f_l_a_g ...] _f_i_l_e ...  --lleellff [_l_i_b_r_a_r_y ...]
  9.  
  10.      ##iinncclluuddee <<lliibbeellff..hh>>
  11.  
  12.      ssiizzee__tt eellff__rraanndd((EEllff **eellff,, ssiizzee__tt ooffffsseett));;
  13.  
  14. IIMMPPLLEEMMEENNTTAATTIIOONN
  15.      IRIX systems
  16.  
  17. DDEESSCCRRIIPPTTIIOONN
  18.      eellff__rraanndd, eellff__nneexxtt, and eellff__bbeeggiinn manipulate simple object files and
  19.      archives.  eellff is an ELF descriptor previously returned from
  20.      eellff__bbeeggiinn.
  21.  
  22.      eellff__rraanndd provides random archive processing, preparing eellff to access
  23.      an arbitrary archive member.  eellff must be a descriptor for the archive
  24.      itself, not a member within the archive.  ooffffsseett gives the byte offset
  25.      from the beginning of the archive to the archive header of the desired
  26.      member.  See eellff__ggeettaarrssyymm(3E) for more information about archive
  27.      member offsets.  When eellff__rraanndd works, it returns ooffffsseett.  If an error
  28.      occurred, eellff was null, or the file was not an archive (no archive
  29.      member can have a zero offset), it returns 0.  A program may mix
  30.      random and sequential archive processing.
  31.  
  32. EEXXAAMMPPLLEESS
  33.      An archive starts with a ``magic string'' that has SSAARRMMAAGG bytes; the
  34.      initial archive member follows immediately.  An application could
  35.      provide the following function to rewind an archive (the function
  36.      returns -1 for errors and 0, otherwise):
  37.  
  38.           #include <ar.h>
  39.           #include <libelf.h>
  40.  
  41.           int
  42.           rewindelf(Elf *elf)
  43.           {
  44.                if (elf_rand(elf, (size_t)SARMAG) == SARMAG)
  45.                     return 0;
  46.                return -1;
  47.           }
  48.  
  49. SSEEEE AALLSSOO
  50.      eellff(3E), eellff__bbeeggiinn(3E), eellff__ggeettaarrssyymm(3E), eellff__nneexxtt(3E), aarr(4)
  51.  
  52.      This man page is available only online.
  53.  
  54.